package org.example.spring02aop.aspect;

//权限切面

/*
* 切面执行顺序：按照切面优先级（默认首字母排序）
*             可通过order()来修改:数字越小，优先级越高*/

import org.aspectj.lang.annotation.*;
import org.springframework.core.annotation.Order;
import org.springframework.stereotype.Component;

@Order(1)

@Aspect
@Component
public class AuthAspect {
    @Pointcut("execution(int *(int,int))")
    public void pointCut()
    {

    }

    @Before("pointCut()")
    public void before()
    {
        System.out.println("【切面 - 权限】权限校验通过");
    }

    @After("pointCut()")
    public void after()
    {
        System.out.println("【切面 - 权限】权限校验结束");
    }

    @AfterReturning("pointCut()")
    public void afterReturning()
        {
            System.out.println("【切面 - 权限】权限校验返回");
        }

    @AfterThrowing("pointCut()")
    public void afterThrowing()
        {
            System.out.println("【切面 - 权限】权限校验异常");
        }
}
